The present invention relates generally to apparatuses and methods of inventorying data and managing assets, and, more particularly, to a computerized system including a software program which periodically inventories a plurality of hardware, software, and data files by assigning a signature to each file, determines which of those files has been changed, identifies and saves the changes on-site and offsite and restores any requested file by reconstructing the file by applying selected stored changes to the current on-site version or the baseline off-site version.
It is known to save files on a computer system and to assign a brief coded description to each file. One such system to Flanagan in U.S. Pat. No. 5,119,291 discloses a write-once optical disc data recorder wherein the addition of data is stored in a non-linear manner in modularized and indexed directories. Each file version recorded on the disk is assigned a “file version description” (FIG. 4) which identifies the file version. A problem with this type of system is that it does not inventory hardware and software files and the signature is not in hexadecimal format. It is an object of the present invention to provide a software program that conducts an initial inventorying process which assigns a hexadecimal signature to identify all hardware, software, and data files in a given system and then compares current and previous signatures to determine whether any of the files have been added, omitted, or changed in any way.
Automatic document image revision systems for electronically storing revisions or modifications to documents which are already electronically stored in unrevised or unmodified form are also known. One such system to Walsh in U.S. Pat. No. 5,020,122 discloses an improved process for eliminating the degradation of the information in the original document whereby only the intended or significant modifications to a document were stored in the system. However, such process made pixel-to-pixel comparisons to generate a bit map image of the changes and was slow and cumbersome in reconstructing documents. See also Murdock U.S. Pat. No. 5,448,729 which discloses a system for the automation of virtually all clerical functions in an office, such as, an insurance company or law office in which a complete audit history of all activity to a specific database file record is maintained without saving the entire database record in a historical file. See also Cheffetz U.S. Pat. No. 5,133,065. See also Ashcraft U.S. Pat. No. 5,247,660 which discloses a method of dynamically managing the storage of information in a write-once media, such as, optical disks in a network utilizing remote computers and a central computer which controls both magnetic disks and optical disks (FIG. 1) with an algorithm for storing updates separately from the general data comprising the original document (FIG. 8). However, all of these systems fail to disclose computing forward and reverse deltas each time a record is changed or saving the current version on-site and the baseline version off-site. It is an object of the present invention to provide unique algorithms for determining forward and reverse deltas by comparing a historical and current version of a document while deleting all prior file versions other than an offsite baseline version and the on-site current version and using the deltas and stored versions to repeatably and efficiently recreate any requested version as it existed at any prior time.
Text document management processes which allow for generating plural revisions from the same original are also known, such as, the one to Mizuta in U.S. Pat. No. 5,280,574 which discloses a process whereby multiple arrangements of the original based on multiple sets of changes are derived and saved enabling a user to restore a particular arrangement by retrieving the original and the selected set of changes to reproduce the desired revised document. The process uses excessive storage. It is an object of the present invention to use minimum storage on-site and offsite by storing only a baseline version of a document offsite with all forward deltas and saving only the current version of the document on-site with all reverse deltas. The volume and time to transmit data to offsite storage and back to the on-site host is kept to a minimum.
It is a further object of the present invention to detect the precise changes made to a prior file in the system and then save the changes. An important step in this process is computing the differences between the two previous and current versions to provide a forward delta and a reverse delta, and, then, storing the current version and the reverse delta of the changed file onsite while deleting only the last previous on-site version of the changed file, and permanently storing off-site the forward delta of the changed file and a baseline copy of each new file. This process preferably uses different forward and reverse algorithms to compute the forward and reverse deltas.
It is still a further object of the present invention to restore any requested file if it is located on-site by recovering the current version and subtracting the appropriate reverse deltas therefrom until the requested file is produced, or if the document is off-site, by recovering the baseline version and adding the appropriate forward deltas thereto until the requested file is produced.